package edu.scau.mis.core.annotation;

import edu.scau.mis.core.enums.BusinessType;

import java.lang.annotation.*;

/**
 * 自定义请求操作日志记录注解
 * RequestLog 注解可以用于标记方法或方法的参数，表明这些方法或参数与请求日志相关。
 * 由于注解的保留策略是 RUNTIME，这意味着注解信息在运行时是可用的，可以通过Java反射API来读取。
 */
@Target({ ElementType.PARAMETER, ElementType.METHOD })//用于指定注解可以应用的目标元素类型
@Retention(RetentionPolicy.RUNTIME)//用于指定注解的保留策略。RetentionPolicy.RUNTIME 表示注解信息将被保留到运行时
@Documented//使用这个注解的元素应该被JavaDoc工具记录
public @interface RequestLog {

    /**
     * 功能模块标题
     */
    public String title() default "";

    /**
     * 业务类型,默认其他
     */
    public BusinessType businessType() default BusinessType.OTHER;

}

